﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Media;

namespace Majoopic.Utility.Image
{
    /// <summary>
    /// All the information of the EXIF
    /// </summary>
    public class ImageHeaderInformation
    {
        #region Properties
        /// <summary>
        /// Date time the picture was taken
        /// </summary>
        public DateTime? DateTaken 
        {
            get; 
            set; 
        }
        
        /// <summary>
        /// Width of the picture
        /// </summary>
        public int? Width 
        {
            get; 
            set; 
        }

        /// <summary>
        /// Height of the picture
        /// </summary>
        public int? Height 
        { 
            get;
            set;
        }

        /// <summary>
        /// Orientation of the picture
        /// </summary>
        public short? Orientation 
        {
            get;
            set;
        }

        /// <summary>
        /// Name of the camera
        /// </summary>
        public string CameraModel 
        {
            get; 
            set;
        }

        /// <summary>
        /// Name of the lens
        /// </summary>
        public string LensModel 
        { 
            get; 
            set; 
        }

        /// <summary>
        /// Lens aperture
        /// </summary>
        public Rational LensAperture 
        { 
            get;
            set;
        }

        /// <summary>
        /// Exposure time
        /// </summary>
        public Rational ExposureTime
        {
            get;
            set; 
        }

        /// <summary>
        /// Exposure program
        /// </summary>
        public short? ExposureProgram
        {
            get;
            set;
        }

        /// <summary>
        /// ISO speed
        /// </summary>
        public short? IsoSpeed 
        {
            get;
            set;
        }

        /// <summary>
        /// Focal lenght
        /// </summary>
        public Rational FocalLenght
        {
            get;
            set;
        }

        /// <summary>
        /// Flash mode
        /// </summary>
        public short? FlashMode
        {
            get;
            set;
        }

        public ImageSource Thumbnail
        {
            get;
            set;
        }
        #endregion

        #region Constructor
        /// <summary>
        /// Constructor
        /// </summary>
        public ImageHeaderInformation()
        {

        }
        #endregion
    }
}
